home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
farbverlauf.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
103 lines
/***********************************************************************
GADGET: "'Farbverlauf'" "6" AUTO TYP: "?"
$DAT >>Farbverlauf.clssa<< 30.09.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
Dieser Macro berechnet einen Farbverlauf in einer Animation. Hierzu
wählt der User einen Bereich aus wie gewohnt, danach wird ein
Farbverlauf vom Startbild bis zum Endbild berechnet. Je größer die
Farbunterschiede sind und je kleiner der ausgewählte Bereich ist,
um so grasser ist der Farbverlauf.
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>1 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
AnzFarben=2**t - 1
MSRequester "TITLE '*** Farbverlauf ***'",
"''",
"'Farbverlauf von "von" bis "bis"'",
"''",
"'Wählen Sie bitte die Effektart aus.'",
"PTEXT 'Alle Farben ...'",
"'Farbbereich ...'"
IF RC~=0 THEN LEAVE
Art=RESULT
IF Art=1 THEN DO
Liste=""
l=0
DO UNTIL l>AnzFarben
Liste=Liste|| l " "
l=l+1
END
END
ELSE IF Art=2 THEN DO
COLRequest "FROM 0 TO 0 TITLE '*** Farbverlauf ***''''Wählen Sie den Farbbereich''für die Bearbeitung aus.'"
IF RC~=0 THEN LEAVE
Liste=RESULT
END
ViewFrame COPS bis
IF RC~=0 THEN LEAVE
GetColor Liste
Ende=RESULT
ViewFrame COPS von
IF RC~=0 THEN LEAVE
GetColor Liste
Start=RESULT
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
DO UNTIL von>bis
fa=(1-(bis-von)/Anzahl)
ViewFrame COPS von
IF RC~=0 THEN LEAVE
MStart=Start
MEnde=Ende
l=0
Liste=""
DO UNTIL MStart=""
PARSE VAR MStart x Sr Sg Sb MStart
PARSE VAR MEnde x Er Eg Eb MEnde
r=Sr+(Er-Sr)*fa
g=Sg+(Eg-Sg)*fa
b=Sb+(Eb-Sb)*fa
Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
l=l+1
END
SetColor Liste
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Farbverlauf müssen''min. 2 Frames ausgewählt werden.'"
FailAt AltFail
exit